package wonder;

public interface IResource {
    public enum ResourceClass {
        RAW,
        MANUFACTURED,
        MONEY,
        CAPABILITY;
    }

    public enum ResourceType {
        CLAY("Clay", ResourceClass.RAW),
        ORE("Ore", ResourceClass.RAW),
        STONE("Stone", ResourceClass.RAW),
        WOOD("Wood", ResourceClass.RAW),
        GLASS("Glass", ResourceClass.MANUFACTURED),
        PAPYRUS("Papyrus", ResourceClass.MANUFACTURED),
        TEXTILE("Textile", ResourceClass.MANUFACTURED),
        GOLD("Gold", ResourceClass.MONEY),
        CATAN("2 similar resources produce 1 other", ResourceClass.CAPABILITY),
        LEADER_FREE("Leader cost 0", ResourceClass.CAPABILITY),
        LEADER_COST_REDUCTION("Leader cost -2 Gold, -1 for neighbours", ResourceClass.CAPABILITY);

        private final String name;
        private final ResourceClass type;

        ResourceType(String name, ResourceClass type) {
            this.name = name;
            this.type = type;
        }

        public String getName() {
            return name;
        }

        public ResourceClass getType() {
            return type;
        }

        @Override
        public String toString() {
            return name;
        }
    }
}
